Within the field of computing, many scenarios involve a server-client architecture for enabling execution of an application on the client. As a first example, a webserver device may provide instructions and/or content comprising a web application to a second device for execution within a web browser. As a second example, an application store may provide instructions comprising a deployable local application that may execute entirely on a second device. As a third example, a database server may provide data to facilitate the execution of an application on a second device.
In view of these and other scenarios, the server/client architecture has led to specialized technologies executing on each device. In some cases, such specialization leads to directly opposite development in view of the different circumstances of the server and the client. For example, the server device often involves code specialized for the server context, such as concurrently executing applications on behalf of several clients; fulfilling requests in a performable and scalable matter (e.g., executing highly optimized code in order to expedite fulfillment of requests, and the reduction or elimination of reliance on a user interface); reducing stateful interactions, where the server stores data associated with a first transaction in order to fulfill a second transaction; and validating and isolating the execution contexts of requests received from different clients in order to reduce security vulnerabilities. Similarly, the client device often involves code specialized for the client context, such as the encoding of instructions in a platform-agnostic language that does not depend on a particular device configuration; the configuration of instructions to execute within a web browser; the provision of a robust user interface; and the storage of information on the client (e.g., in the form of cookies stored in a web browser cache) in order to persist information from a first transaction in furtherance of a second transaction. In these and other ways, the specialization of the server and client contexts has led to very different types of instructions executing on these different devices.